package com.cloudcc.mobile.util;

import android.app.Notification;
import android.app.NotificationManager;
import android.content.Context;

/**
 * 状态类发送
 *
 * @author wangzhiqiang
 * @date 2015-6-4 上午9:58:13
 */
public class NotificationUtils {
    /**
     * 在状态栏显示通知
     */
    @SuppressWarnings("deprecation")
    public static void showNotification(Context context, String name,
                                        String contentTitle, String contentText, int num) {
        // 创建一个NotificationManager的引用
        NotificationManager notificationManager = (NotificationManager) context
                .getSystemService(Context.NOTIFICATION_SERVICE);
        /*// 定义Notification的各种属性
        @SuppressWarnings("deprecation")
		Notification notification = new Notification(R.drawable.icon, name,
				System.currentTimeMillis());
		// FLAG_AUTO_CANCEL 该通知能被状态栏的清除按钮给清除掉
		// FLAG_NO_CLEAR 该通知不能被状态栏的清除按钮给清除掉
		// FLAG_ONGOING_EVENT 通知放置在正在运行
		// FLAG_INSISTENT 是否一直进行，比如音乐一直播放，知道用户响应
		// notification.flags |= Notification.FLAG_ONGOING_EVENT; //
		// 将此通知放到通知栏的"Ongoing"即"正在运行"组中
		notification.flags |= Notification.FLAG_AUTO_CANCEL; // 表明在点击了通知栏中的"清除通知"后，此通知不清除，经常与FLAG_ONGOING_EVENT一起使用
		notification.flags |= Notification.FLAG_SHOW_LIGHTS;
		// DEFAULT_ALL 使用所有默认值，比如声音，震动，闪屏等等
		// DEFAULT_LIGHTS 使用默认闪光提示
		// DEFAULT_SOUNDS 使用默认提示声音
		// DEFAULT_VIBRATE 使用默认手机震动，需加上<uses-permission
		// android:name="android.permission.VIBRATE" />权限
		notification.defaults = Notification.DEFAULT_LIGHTS;
		// 叠加效果常量
		notification.defaults = Notification.DEFAULT_LIGHTS
				| Notification.DEFAULT_SOUND;
		notification.ledARGB = Color.BLUE;
		notification.ledOnMS = 5000; // 闪光时间，毫秒

		// 设置通知的事件消息
		CharSequence ContentTitle = contentTitle; // 通知栏标题
		CharSequence ContentText = contentText; // 通知栏内容
		// Intent notificationIntent =new Intent(context, MainActivity.class);
		// // 点击该通知后要跳转的Activity
		// PendingIntent contentItent = PendingIntent.getActivity(context, 0,
		// null, 0);
		notification.setLatestEventInfo(context, ContentTitle, ContentText,
				null);
		// 把Notification传递给NotificationManager
		notificationManager.notify(num, notification);*/


        //重写
        Notification.Builder builder1 = new Notification.Builder(context);
        builder1.setSmallIcon(com.cloudcc.mobile.R.drawable.icon);//设置图标
//        builder1.setSmallIcon(R.drawable.icon); //设置图标
        builder1.setTicker("显示第二个通知");
        builder1.setContentTitle("通知"); //设置标题
        builder1.setContentText("点击查看详细内容"); //消息内容
        builder1.setWhen(System.currentTimeMillis()); //发送时间
        builder1.setDefaults(Notification.DEFAULT_ALL); //设置默认的提示音，振动方式，灯光
        builder1.setAutoCancel(true);//打开程序后图标消失

        Notification notification1 = builder1.build();
        notificationManager.notify(124, notification1); // 通过通知管理器发送通知
    }

    // 删除通知
    @SuppressWarnings("unused")
    public static void clearNotification(Context cotext, int num) {
        // 启动后删除之前我们定义的通知
        @SuppressWarnings("static-access")
        NotificationManager notificationManager = (NotificationManager) cotext
                .getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.cancel(num);

    }
}
